.button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 28px;
  font-size: 13px;
  padding: 4px 16px;
  font-family: system-ui, sans-serif;
  border: none;
  text-decoration: none;
  border-radius: 4px;
  cursor: pointer;
  background-color: var(--vscode-button-background);
  color: var(--vscode-button-foreground);

  &:hover {
    background-color: var(--vscode-button-hoverBackground);
    text-decoration: none;
  }

  &:focus-visible {
    outline-offset: 2px;
    outline: 1px solid var(--vscode-focusBorder);
  }

  &:disabled {
    opacity: 0.5;
    cursor: not-allowed;

    &:hover {
      background-color: var(--vscode-button-background);
    }
  }

  &--secondary {
    color: var(--vscode-button-secondaryForeground);
    background-color: var(--vscode-button-secondaryBackground);

    &:hover {
      background-color: var(--vscode-button-secondaryHoverBackground);
    }

    &:disabled {
      &:hover {
        background-color: var(--vscode-button-secondaryBackground);
      }
    }
  }

  &--small {
    min-height: 24px;
    font-size: 12px;
    padding: 2px 8px;
  }
}
